﻿


/**
 * 获得n天之前的日期
 */
function getBeforeDate(val) {
	var n = val;
	var d = new Date();
	var year = d.getFullYear();
	var mon = d.getMonth() + 1;
	var day = d.getDate();
	if (day <= n) {
		if (mon > 1) {
			mon = mon - 1;
		} else {
			year = year - 1;
			mon = 12;
		}
	}
	d.setDate(d.getDate() - n);
	year = d.getFullYear();
	mon = d.getMonth() + 1;
	day = d.getDate();
	s = year + "-" + (mon < 10 ? ('0' + mon) : mon) + "-"
			+ (day < 10 ? ('0' + day) : day);
	return s;
}

/**
 * js方法：序列化表单
 * 
 * @param form
 *            form对象
 * @returns 对象
 */
function serializeForm(form){
	var obj={};
	$.each(form.serializeArray(),function(index){
		if(obj[this['name']]){
			obj[this['name']]=obj[this['name']]+','+this['value'];
		}else{
			obj[this['name']]=this['value'];
		}
	});
	return obj;
}
/**
 * 判断 值是不是为空
 * @param val 参数
 * @returns true:为空，false:不为空
 */
function isEmpty(val){
	var result=true;
	if(val!=null && val!='' && val!=undefined && val!='null'){
		result=false;
	}
	return result;
}


//秒数转换为时分秒
function secondsToHMS(sec){
	if (typeof sec == "string") {
		sec = Number(sec);
  }

  var hour = sec >= 3600 ? Math.floor(sec / 3600) : 0;
  var min = sec - hour * 3600 >= 60 ? Math.floor((sec - hour * 3600) / 60) : 0;
  sec = Math.round(sec - hour * 3600 - min * 60);

  var result = "";
  if (hour > 0) {
      result += hour + "小时";
  }
  if (min > 0) {
      result += min + "分";
  }
  if (sec > 0) {
      result += sec + "秒";
  }
  return result;
}

//毫秒数转换为小时分钟秒
function milliSecondsToHMS(msec) {
  if (typeof msec == "string") {
  	msec = Number(msec);
  }

  var sec = msec / 1000;
  return secondsToHMS(sec);
} 

//毫秒数转为小时分钟秒，返回为对象
function milliSecondsToHMSObj(msec){
	if (typeof msec == "string") {
  	msec = Number(msec);
  }

  var sec = msec / 1000;
  
  var hour = sec >= 3600 ? Math.floor(sec / 3600) : 0;
  var min = sec - hour * 3600 >= 60 ? Math.floor((sec - hour * 3600) / 60) : 0;
  sec = Math.round(sec - hour * 3600 - min * 60);
  
  return {
  	hours: hour,
  	minutes: min,
  	seconds: sec
  };
}

/* 获取当前时间  */
function GetCurrentDate() {
    var d = new Date();
    var y = d.getYear()+1900;
    month = add_zero(d.getMonth() + 1),
    days = add_zero(d.getDate()),
    hours = add_zero(d.getHours());
    minutes = add_zero(d.getMinutes()),
    seconds = add_zero(d.getSeconds());
    var str = y + '-' + month + '-' + days + ' ' + hours + ':' + minutes + ':' + seconds;
    return str;
};
function add_zero(temp) {
    if (temp < 10) return "0" + temp;
    else return temp;
}

/**  JS判断两个日期大小 适合 2012-09-09 与2012-9-9 两种格式的对比  
 * @param beginDate  字符转开始日期
 * @param endDate  字符转结束日期
 * @returns  
 *  1：（beginDate>endDate）
 *  0：（beginDate=endDate）
 * -1：（beginDate<endDate）
 */
function ValidateDate(beginDate, endDate) {
	var result = "";
	if (beginDate.length > 0 && endDate.length > 0) {
		var sDate = new Date(beginDate.replace(/\-/g, "\/"));
		var eDate = new Date(endDate.replace(/\-/g, "\/"));
		if (sDate > eDate) {
			result = "1";
		} else if (sDate == eDate) {
			result = "0";
		} else if (sDate < eDate) {
			result = "-1";
		}
	}
	return result;
}
/**
 * 去掉前后空格，保留中间空格 
 */
function trim(str){    
    str = str.replace(/^(\s|\u00A0)+/,'');   
    for(var i=str.length-1; i>=0; i--){   
        if(/\S/.test(str.charAt(i))){   
            str = str.substring(0, i+1);   
            break;   
        }   
    }   
    return str;   
}
/** 
说明：判断value变量值是否是中文 
参数value:输入值 
返回值：是中文返回false，否则true 
*/  
function isChn(str){  
        var reg = /^([\u4E00-\u9FA5]|[\uFE30-\uFFA0])*$/;  
        if(reg.test(str)){  
            return false;  
        }  
        return true;  
}  
/***
 *  时间间隔计算(间隔天数)
 */
function getDayCount(startDate,endDate)  {  
    var startTime = new Date(Date.parse(startDate.replace(/-/g,   "/"))).getTime();     
    var endTime = new Date(Date.parse(endDate.replace(/-/g,   "/"))).getTime();     
    var dates = Math.abs((startTime - endTime))/(1000*60*60*24);     
    return  dates;    
}
/***
 *  去除字符串中所有空格
 */
function removeAllSpace(str) {
	return str.replace(/\s+/g, "");
}

/**
*判断是否是数字
*
**/
function isRealNum(val){
    // isNaN()函数 把空串 空格 以及NUll 按照0来处理 所以先去除
    if(val === "" || val ==null){
        return false;
    }
    if(!isNaN(val)){
        return true;
    }else{
        return false;
    }
} 

/**
* 校验只要是数字（包含正负整数，0以及正负浮点数）就返回true
**/
function isNumber(val){

    var regPos = /^\d+(\.\d+)?$/; //非负浮点数
    var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数
    if(regPos.test(val) || regNeg.test(val)){
        return true;
    }else{
        return false;
    }

}

/**
* 校验正负正数就返回true
**/
function isIntNum(val){
    var regPos = / ^\d+$/; // 非负整数
    var regNeg = /^\-[1-9][0-9]*$/; // 负整数
    if(regPos.test(val) || regNeg.test(val)){
        return true;
    }else{
        return false;
    }
}





























